package com.cskaoyan.day1.generic5;

/**
 * @author Common-zhou
 * @since 2023-02-27 10:57
 */
public class UserDemo {
    public static void main(String[] args) {

        //test1();

        test2();

        test3();

    }

    private static void test3() {

        // jdk1.7 可以只指定前面的类型；不指定后面的类型
        User<Integer> user = new User<>();

        // jdk1.5版本的写法。
        User<String> user1 = new User<String>();


        User user2 = new User<Integer>();
        Object data = user2.getData();

    }

    private static void test2() {
        User user = new User();
        //User<String> user = new User();

        // 如果不指定泛型的类型，拿回来的类型默认是Object
        Object data = user.getData();

    }

    private static void test1() {
        User<String> user = new User<>();

        // 泛型传进去的类型，是什么类型，就是什么类型
        // T = String
        String data = user.getData();
        // 普通类型没有变化
        String name = user.name;

        User<Integer> user1 = new User<>();
        Integer data1 = user1.getData();
    }
}
